//var tables	 =["kanji"];
var primaryKey	 ={lesson:'le_id',kanji:'k_id',vocabulary:'v_id',listening:'li_id',grammar:'g_id',question:'q_id',reading:'r_id',testtype:'t_id'};
var tables	 =["reading","lesson","grammar","question","kanji","vocabulary","listening","testtype"];
var updateTables	 =["reading","lesson","grammar","question","kanji","vocabulary","listening","testtype"];
//var tables	 =["listening"];
var emptyTables	 	=	new Array();
var insertSQL 		= 	new Array();
var removeSQL 		= 	new Array();
var deleteForInsert 		= 	new Array();
var errorTable 		= 	new Array();
var currentTable 	="";
var successTableCount 		= 0;
var totalTableCount 		= 0;
var db				= window.openDatabase("JapaneseBasic", "1.0", "Japanese Database",500000);
var gCurrentId		= 0 ;
var lanchaydautien		= 1 ;
var chophepkiemtraUpdateMoiKhiKD		= 0 ;
var dongyUpdate		= 0 ;
var currentTable		= "" ;
//bien nay de luu lai cai dataversion lon nhat tim thay trong khi xu ly du lieu
// de đề phòng trường hợp truy cập lấy dataversion id không thành con mẹ nó công
var maxDtIdFind		= 0 ;
var task			= 0 ;

function initDatabase(){
	console.log("index.js initting database");
	//var db = window.openDatabase("JapaneseBasic", "1.0", "Japanese Database",500000);
	 var networkState = navigator.network.connection.type;
		if(networkState == Connection.NONE){
			dialog(12);
		}
		else if(networkState == Connection.CELL_2G || networkState == Connection.CELL_3G || networkState == Connection.CELL_4G){
			dialog(13);
			//alert("co ket noi 3gfi");
		}
		else{
			//alert("co ket noi wifi");
			db.transaction(createDB, errorCB, createSuccessCB);
		}
		
	//db.transaction(createDB, errorCB, createSuccessCB);
	
}
function createDB(tx){
	//console.log("index.js createDB() deleting database");
	
/*	tx.executeSql('DROP TABLE IF EXISTS dataversion');
	tx.executeSql('DROP TABLE IF EXISTS lesson');
	tx.executeSql('DROP TABLE IF EXISTS kanji');
	tx.executeSql('DROP TABLE IF EXISTS vocabulary');
	tx.executeSql('DROP TABLE IF EXISTS listening');
	tx.executeSql('DROP TABLE IF EXISTS grammar');
	tx.executeSql('DROP TABLE IF EXISTS question');
	tx.executeSql('DROP TABLE IF EXISTS reading');
	tx.executeSql('DROP TABLE IF EXISTS testtype');*/
	
	//kiem tra neu la lan chay dau tien (chua co database) thi chuong trinh se tao ra database 
	//va tu dong len mang lay du lieu ve
	tx.executeSql('CREATE TABLE IF NOT EXISTS dataversion (dat_id INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT, dat_version  INTEGER)');
	tx.executeSql('CREATE TABLE IF NOT EXISTS lesson (le_id INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT, le_title  TEXT,le_favourite INTEGER DEFAULT 0, le_dataversion_id INTEGER)');
	tx.executeSql('CREATE TABLE IF NOT EXISTS kanji (k_id  INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT, k_kanji      TEXT, k_mean_kanji      TEXT, k_mean_en 		TEXT, k_mean_vi 	TEXT, k_onyomi 		TEXT, k_kunyomi 		TEXT, 	 k_remember 		TEXT, k_on_ex 		   TEXT,k_kun_ex 		 TEXT,k_favourite INTEGER DEFAULT 0, k_dataversion_id INTEGER)');
	tx.executeSql('CREATE TABLE IF NOT EXISTS vocabulary (v_id  INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT, v_word TEXT, v_hiragana TEXT, v_mean_kanji TEXT, v_mean_en 	TEXT, v_mean_vi 	TEXT, v_lesson_id INTEGER, v_note TEXT,v_favourite INTEGER DEFAULT 0, v_dataversion_id INTEGER)');
	tx.executeSql('CREATE TABLE IF NOT EXISTS listening (li_id  INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT, li_title TEXT,li_thumb TEXT, li_script_jp TEXT, li_track TEXT, li_script_en 	TEXT, li_script_vi 	TEXT,li_lesson_id INTEGER,li_favourite INTEGER DEFAULT 0, li_dataversion_id INTEGER)');
	tx.executeSql('CREATE TABLE IF NOT EXISTS grammar (g_id  INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT, g_title TEXT, g_mean TEXT, g_explain TEXT, g_note 	TEXT, g_example_jp 	TEXT,g_example_en TEXT,g_example_vi TEXT,g_lesson_id INTEGER,g_favourite INTEGER DEFAULT 0, g_dataversion_id INTEGER)');
	tx.executeSql('CREATE TABLE IF NOT EXISTS question (q_id  INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT, q_question TEXT, q_answer1 TEXT, q_answer2 TEXT, q_answer3 	TEXT, q_answer4 	TEXT,q_correct TEXT,q_type TEXT,q_lesson_id INTEGER,q_favourite INTEGER DEFAULT 0, q_dataversion_id INTEGER)');
	
	tx.executeSql('CREATE TABLE IF NOT EXISTS reading (r_id INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT, r_title TEXT,r_content_jp TEXT,r_content_en TEXT,r_content_vi TEXT,r_lesson_id INTEGER,r_favourite INTEGER DEFAULT 0,r_dataversion_id 	INTEGER)');
	tx.executeSql('CREATE TABLE IF NOT EXISTS testtype (t_id INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT, t_type TEXT,t_dataversion_id 	INTEGER)');
	//Kiem tra neu cac bang rong hoac co dataversion moi hon thi len mang lay du lieu ve 
	//checkForEmptyOrUpdate(tables[0], tx);
	for ( var i=0;i<tables.length;i++) {
		checkForEmpty(tables[i], tx);
	}
	//checkForUpdate();
}
function localGet(item,defaultvalue){
	if(localStorage.getItem(item) != null) return localStorage.getItem(item);
	return defaultvalue;
}
function createSuccessCB(){	
	for ( var i = 0; i < emptyTables.length; i++) {
		var array_element = emptyTables[i];
		console.log(array_element);
	}
	if(emptyTables.length != 0){
		task = 0; // lay du lieu toan bo
		totalTableCount = emptyTables.length;
		var tablename = emptyTables.shift();
		currentTable 	= tablename;
			//dialog bat nguoi dung cho
			dialog(2);
			
			var curentid = 0;//curentid = 0 tuc la chua co du lieu, lay toan bo
			getDataFromUrl(tablename,curentid);
	}
	// khong phai la lan chay dau tien(da mat trinh) va cho phep kiem tra, va mang trinh
	//localStorage.clear();
	//checkForUpdate();
	
	// con trinh trang chua quan he tinh duc
	if(localGet('lanchaydautien',0) == 0){
		//chinh thuc mat trinh
		localStorage.setItem('lanchaydautien',1);
	}else{
		//da khong con thi cho phep la lam
		if(localGet('chophepkiemtraUpdateMoiKhiKD',0) == 1) 
			checkForUpdate();
	}
	console.log("index.js createSuccessCB() Database has been created and analysic, update successfully");
}

function getDataFromUrl(tableName,curentid){
	currentTable = tableName;
	var tableUrl = getfulldataUrl + "/table/" + tableName;
	if(curentid != 0) tableUrl = tableUrl + "/cid/"+curentid;
	console.log("truy cap "+tableUrl);
	$.ajax({
        type: "GET",
        url: tableUrl,
        timeout:5000,
        //contentType: "application/json; charset=utf-8",
        dataType: "text",
        success:  xmlToSQl,
        error:    getXmlStringError,
        complete: getJsonStringComplete
	});
}
//sau khi lay duoc du lieu dang json, dua ve dang cau lenh insert
//thi insert
//lam trong bang
//chay bang sau
function getJsonStringComplete(){
	//alert("con lai"+emptyTables.toString());
	//alert("con lai"+emptyTables.length);
//	successTable.push(tableName);	
	db.transaction(function(tx){
		for ( var i = 0; i <insertSQL.length; i++) {
			//console.log(insertSQL[i]);
			
			tx.executeSql(deleteForInsert[i]);
			tx.executeSql(insertSQL[i]);
			//alert(deleteForInsert[i]+'  '+insertSQL[i]);
			console.log(deleteForInsert[i]);
			console.log(insertSQL[i]);
			
		}
		insertSQL = new Array();
		deleteForInsert = new Array();
		
	}, function(){
		errorTable.push(currentTable);
	}, function(){console.log("index.js inserted a record");});
	//alert("quan tronggCurrentId"+gCurrentId);
	var tableName;
	if(task == 1){//task update
		tableName = updateTables.shift();
		console.log("dang cap nhat du lieu moi");
	}
	else{
		//task lay moi du lieu
		tableName = emptyTables.shift();
		console.log("dang lay du lieu moi");
	}
	if( tableName != undefined){
		console.log("tiep tuc voi "+tableName);
		//console.log("lay du lieu  "+curentid);
		getDataFromUrl(tableName,gCurrentId);
	}else{
		
		// khong con bang nao nua thi cuoi cung len lay dataversion id de lap vao bang dataversion id
		// nếu lỗi hết trơn
		if(successTableCount == 0 && emptyTables.length == 0){
			
			//đóng các dialog chờ
			if($.mobile.sdCurrentDialog != undefined) $.mobile.sdCurrentDialog.close(); else{
        		$(".ui-simpledialog-container").hide();
	        	$(".ui-simpledialog-screen").hide();
        	}
			//hiện dialog thông báo
        	$('<div>').simpledialog2({
        		mode: 'button',
        		headerText: 'Xin lỗi!',
        		headerClose: true,
        		buttonPrompt: 'Có lỗi xẩy ra khi truy vấn máy chủ!',
        		buttons : {
        			'Đóng': {
        				click: function (){
        					if(task ==0 && totalTableCount >= 7 ) {
        						alert("Thành thật xin lỗi,máy chủ hiện đang không thể truy cập! Xin thử lại lần sau");
        						window.location="appsuppended.html";
        					}
        				}
        			},
        		}
        	});
		}else{//nếu thành công 
			
        	db.transaction(function(tx){
        		tx.executeSql('INSERT INTO dataversion (dat_version) VALUES("'+maxDtIdFind+'")');
        	}, errorCB, function(){console.log("index.js fully update data at version "+maxDtIdFind);});
        	//alert("xong ");
        	// kieemr tra va xoa nhung du lieu cho giong tren server
        	if(task ==1){
        		// nếu là cập nhật thì phải tìm hiểu xem trên server có những j đã bị xóa đi không
        		checkForDeleleRecord();
        	}else{
        		// thông báo kết quả
        		if($.mobile.sdCurrentDialog != undefined) $.mobile.sdCurrentDialog.close(); else{
            		$(".ui-simpledialog-container").hide();
    	        	$(".ui-simpledialog-screen").hide();
            	}
            	var erorCount = totalTableCount-successTableCount;
            	$('<div>').simpledialog2({
        			mode: 'button',
        			headerText: 'Hoàn thành!',
        			headerClose: true,
        			buttonPrompt: '<p> Xin chúc mừng! Hoàn thành cập nhật dữ liệu!</p><p> Thành công: '+successTableCount+'</p><p> Lỗi: '+erorCount+'</p>',
        			buttons : {
        				'Đóng': {
        					click: function (){
        						successTableCount= 0;
        						dialog(5);
        					}
        				},
        				
        			}
            	});
        	}
        	
		}//end else nếu thành công
	}
}
function checkForEmpty(tableName,tx){
	console.log("index.js checkForEmptyOrUpdate() CHECKING table: "+tableName);
	//console.log('SELECT count(*) as len FROM '+tableName);
	tx.executeSql("SELECT count(*) as len FROM "+tableName,[], function(tx, results){
		var len = results.rows.item(0).len;
		console.log("index.js checkForEmptyOrUpdate() number of record on table: "+tableName+" is : "+len);
		//neu nhu chua co du lieu
		if(len == 0) {
			console.log("index.js checkForEmptyOrUpdate() "+tableName+" empty or have new update");
			emptyTables.push(tableName);
		}
		//kiem tra version
	});
}

function getXmlStringError(jqXHR,textStatus,errorThrown ){
	var percent = (successTableCount/totalTableCount) *100;
	$.mobile.sdCurrentDialog.updateBlank('<p stype="text-align:center">Có lỗi xẩy ra </p><p stype="text-align:center"> Đã hoàn thành:  '+percent.toFixed(2)+' % </p><p stype="text-align:center">Lỗi xử lý :'+ currentTable+' </p>');
	console.log("index.js getXmlStringError() "+textStatus);
	console.log("index.js getXmlStringError() "+errorThrown);
}
function xmlToSQl(xml){
	successTableCount++;
	
	var percent = (successTableCount/totalTableCount) *100;
	if($.mobile.sdCurrentDialog != undefined) $.mobile.sdCurrentDialog.updateBlank('<p stype="text-align:center">Xin chờ một lát </p><p stype="text-align:center"> Đã hoàn thành:  '+percent.toFixed(2)+' % </p><p stype="text-align:center">Đang xử lý dữ liệu :'+ currentTable+' </p>');
	var xmlDoc = $.parseXML(xml);
	xml = $( xmlDoc );
	
	// lấy mảng các trường của bảng
	var fields = $(xml).find('fields').text().split(",");
	//tableFieldFart là một phần của câu lệnh sql . ví dụ insert into TableName (tableFieldPart) value(tableDataPartPart) 
	var tableFieldPart = "";
	for(var i in fields){
		if(tableFieldPart == "") tableFieldPart = fields[i]; else tableFieldPart = tableFieldPart+","+fields[i];
	}
	var tableName = $(xml).find('tableName').text();
	var sqlRaw = "INSERT INTO " + tableName + "("+tableFieldPart+") VALUES(";
	//fields[0] chinhs la cot id cuar moi bang
	var sqlRaw2 = "DELETE FROM " + tableName + " WHERE ";
	var WHERE = "";
	
	var tableDataPart = "";
	$(xml).find('item').each(function(){
		for ( var i in fields) {
			//tmp giá trị của node fields[i] trong item
			var tmp = $(this).find(fields[i]).text();
			if(tableDataPart == "") tableDataPart = "'"+tmp+"'"; else tableDataPart= tableDataPart + ",'"+tmp+"'";
			//lưu lại id lớn nhất của dataversion phòng trường cmn hợp không truy cập đc dataversion dcm
			if(fields[i].search("dataversion_id") != -1) {
				if(tmp > maxDtIdFind) maxDtIdFind =tmp;
			}
			//lay id 
			if((fields[i].search("id") != -1) && (fields[i].length <= 6)) {
				WHERE = fields[i] + "= "+tmp;
			}
		}
		var sql = sqlRaw + tableDataPart + ")";
		var sql2 = sqlRaw2 +  WHERE;
		tableDataPart = "";
		WHERE         = "";
		//alert(sql2 + "  " +sql);
		insertSQL.push(sql);
		deleteForInsert.push(sql2);
	});
}

function errorCB(err) {
	alert("Lỗi không xác định: " + err.code);
}
function checkForDeleleRecord(){
	var tableUrl = getfulldataUrl + "/table/datadeleted";
	//if(curentid != 0) tableUrl = tableUrl + "/cid/"+curentid;
	//alert("truy cap "+tableUrl);
	$.ajax({
        type: "GET",
        url: tableUrl,
        timeout:5000,
        //contentType: "application/json; charset=utf-8",
        dataType: "text",
        success:  function(data){
        	var xmlDoc = $.parseXML(data);
        	xml = $( xmlDoc );
        	// duyệt qua danh sách các record bị xóa trên server
        	$(xml).find('item').each(function(){
        		var tableName = $(this).find("d_table").text();
        		var recordId = $(this).find("d_data_id").text();
        		var sql		 = "DELETE FROM "+tableName + " WHERE "+primaryKey[tableName] +" = "+recordId;
        		removeSQL.push(sql);
        		//alert(sql);
        	});
        },
        error:    function(){
        	alert("có lỗi xẩy ra khi truy vấn dữ liệu server");
        },
        complete: function(){
        	// server có xảy ra việc xóa một vài record
        	if(removeSQL.length >0){
        		synDelete();
        	}
        }
	});
}
function synDelete(){
	db.transaction(function(tx){
		for ( var i = 0; i <removeSQL.length; i++) {
			//console.log(removeSQL[i]);
			
			tx.executeSql(removeSQL[i]);
			console.log(removeSQL[i]);
		}
		removeSQL = new Array();
		
	}, function(){
		Console.log("xoa du lieu theo yeu cau server bi loi");
	}, function(){
		console.log("detele record");
		if($.mobile.sdCurrentDialog != undefined) $.mobile.sdCurrentDialog.close(); else{
    		$(".ui-simpledialog-container").hide();
        	$(".ui-simpledialog-screen").hide();
    	}
    	$('<div>').simpledialog2({
			mode: 'button',
			headerText: 'Hoàn thành!',
			headerClose: true,
			buttonPrompt: '<p> Xin chúc mừng! Hoàn thành đồng bộ dữ liệu!</p>',
			buttons : {
				'Đóng': {
					click: function (){
						successTableCount= 0;
						dialog(5);
					}
				},
				
			}
    	});
	});
}
function checkForUpdate(){
	 var networkState = navigator.network.connection.type;

		if(networkState == Connection.NONE){
			dialog(12);
		}
		else if(networkState == Connection.CELL_2G || networkState == Connection.CELL_3G || networkState == Connection.CELL_4G){
			//hỏi người dùng có dùng mạng 3g để download không, vì có mấy thằng điên nhiều tiến ngu khôn gbiet dùng wifi
			dialog(14);
			//alert("co ket noi 3gfi");
		}
		else{
			//khi có kết nối 
			startUpdate();
		}
}
// lay ve mang cac version con thieu
function startUpdate(){
	//bat nguoi dung cho, thằng nào k chờ kệ cha nó
	dialog(4);
	var cid;
	var sid;
	db.transaction(function(tx){
		tx.executeSql('SELECT MAX(dat_version) as id FROM dataversion ',[], function(tx, results){
			cid = parseInt(results.rows.item(0).id);
			gCurrentId = cid;
			console.log("index.js checkForUpdate() client id now: "+cid);
		});
	}, errorCB, function(){
		$.ajax({
	        type: "GET",
	        url: getDataVersionIdUrl,
	        timeout: 5000,
	        //contentType: "application/json; charset=utf-8",
	        dataType: "text",
	        success: function(id){
	        	sid =parseInt(id);
	        	//tat dialog 4
	        	if($.mobile.sdCurrentDialog != undefined) $.mobile.sdCurrentDialog.close(); else{
	        		$(".ui-simpledialog-container").hide();
		        	$(".ui-simpledialog-screen").hide();
	        	}
	        	//neu id cua client < server thi update
	        	if(cid < sid){
	        		dialog(1,cid);
	        	}else{
	        		dialog(6);
	        		console.log('index.js checkForUpdate() data is latest, not necessary update');
	        	}
	        },
	        error: function(){
	        	if($.mobile.sdCurrentDialog != undefined) $.mobile.sdCurrentDialog.close(); else{
	        		$(".ui-simpledialog-container").hide();
		        	$(".ui-simpledialog-screen").hide();
	        	}
	        	dialog(15);
	        },
		});
	});
}

function dialog(type,cid){
	if(type == 1)
		$('<div>').simpledialog2({
		    mode: 'button',
		    headerText: 'Đã có dữ liệu mới!',
		    headerClose: true,
		    buttonPrompt: 'Vui lòng chọn OK để update hoặc có thể để sau!',
		    buttons : {
		      'OK': {
		        click: function (){
		        		dongyUpdate = 1;
		        		dialog(3);
		        		if(updateTables.length != 0){
		        			task = 1; // task update
		        			totalTableCount = updateTables.length;
			        		var table = updateTables.shift();
			        		currentTable 	= table;
			        		console.log("Updateting "+table);
			        		getDataFromUrl(table,cid);
		        		}
		        }
		      },
		      'Không': {
		        click: function () { 
		        },
		        icon: "delete",
		        theme: "c"
		      },
		      'Đừng nhắc nữa': {
		    	  click: function () { 
		    		  chophepkiemtraUpdateMoiKhiKD =0 ;
		    		  localStorage.setItem('chophepkiemtraUpdateMoiKhiKD',0);
		    	  },
		    	  icon: "delete",
		    	  theme: "e"
		      }
		    }
		  });
	if(type == 5)
		$('<div>').simpledialog2({
			mode: 'button',
			headerText: 'Cho phép update!',
			headerClose: true,
			buttonPrompt: 'Cho phép chương trình kiểm tra update mỗi lần khởi động?  Nếu bạn chọn không thì bạn có thể update dữ liệu thủ công bằng nút Update phía trên bên trái!',
			buttons : {
				'Cho phép': {
					click: function (){
						localStorage.setItem('chophepkiemtraUpdateMoiKhiKD',1);
						chophepkiemtraUpdateMoiKhiKD = 1;
					}
				},
				'Cancel': {
					click: function () { 
						localStorage.setItem('chophepkiemtraUpdateMoiKhiKD',0);
						chophepkiemtraUpdateMoiKhiKD = 0;
					},
					icon: "delete",
					theme: "c"
				}
				
			}
		});
	if(type == 6)
		$('<div>').simpledialog2({
			mode: 'button',
			headerText: 'Hoàn Thành!',
			headerClose: true,
			buttonPrompt: '  Dữ liệu của bạn đang dùng là phiên bản mới nhất và không cần cập nhật!',
			buttons : {
				'Đóng': {
					click: function (){
						dialog(5);
					}
				},
				
				
			}
		});
	if(type == 7)
		$('<div>').simpledialog2({
			mode: 'button',
			headerText: 'Hoàn thành!',
			headerClose: true,
			buttons : {
				'Đóng': {
					click: function (){
						dialog(5);
					}
				},
				
				
			}
		});
	if(type == 8)
		$('<div>').simpledialog2({
			mode: 'button',
			headerText: 'Hoàn thành lấy dữ liệu! Hoàn thành',
			headerClose: true,
			buttonPrompt: 'Xin chúc mừng! Chương trình đã sẵn sàng sử dụng!!',
			buttons : {
				'Đóng': {
					click: function (){
					}
				},
				
				
			}
		});
	if(type ==2)
		$('<div>').simpledialog2({
		    mode: 'blank',
		    headerText: 'Đang khởi tạo dữ liệu...',
		    headerClose: false,
		    blankContent : '<p style="align:center">Chương trình đang khởi tạo dữ liệu. Vui lòng chờ trong khi chương trình đang tải dữ liệu. Vui lòng không tắt ứng dụng! <p>',
		  });
	if(type ==4)
		$('<div>').simpledialog2({
			mode: 'blank',
			headerText: 'Đang kiểm tra update...',
			headerClose: false,
			blankContent : '<p style="align:center">Chương trình đang kiểm tra dữ liệu mới. Vui lòng chờ trong khi chương trình đang tải dữ liệu. Vui lòng không tắt ứng dụng! <p>',
		});
	if(type ==3)
		$('<div>').simpledialog2({
			mode: 'blank',
			headerText: 'Vui lòng chờ...',
			headerClose: false,
			blankContent : '<p style="align:center">Chương trình đang cập nhật dữ liệu. Vui lòng chờ trong khi chương trình đang tải dữ liệu. Vui lòng không tắt ứng dụng! <p>',
		});
	if(type==12) $('<div>').simpledialog2({
		mode: 'button',
		headerText: 'Không có kết nối',
		headerClose: true,
		buttonPrompt: 'Không thể tải vì không có kết nối mạng. Xin vui lòng bật các kết nối trên thiết bị của bạn. ',
		buttons : {
			'Đóng': {
				click: function (){
					 window.location="appsuppended.html";
				}
			},
			
			
		}
	});
	if(type==13) $('<div>').simpledialog2({
		mode: 'button',
		headerText: 'Kết nối có thể tốn nhiều tiền',
		headerClose: true,
		buttonPrompt: 'Bạn đang không dùng kết nối mạng dữ liệu, khi download có thể gây tốn nhiều chi phí! Bạn nên sử dụng kết nối wifi để hạn chế chi phí. Bạn có muốn tiếp tục download các file nghe? ',
		buttons : {
			'OK': {
				click: function (){
					db.transaction(createDB, errorCB, createSuccessCB);
				}
			},
			'Để sau': {
				click: function (){
					 window.location="appsuppended.html";
				}
			},
			
			
		}
	});
	if(type==14) $('<div>').simpledialog2({
		mode: 'button',
		headerText: 'Kết nối có thể tốn nhiều tiền',
		headerClose: true,
		buttonPrompt: 'Bạn đang không dùng kết nối mạng dữ liệu, khi download có thể gây tốn nhiều chi phí! Bạn nên sử dụng kết nối wifi để hạn chế chi phí. Bạn có muốn tiếp tục download các file nghe? ',
		buttons : {
			'OK': {
				click: function (){
					startUpdate();
				}
			},
			'Để sau': {
				click: function (){
					window.location="appsuppended.html";
				}
			},
		}
	});
	if(type == 15)
		$('<div>').simpledialog2({
			mode: 'button',
			headerText: 'Lỗi!',
			headerClose: true,
			buttonPrompt: 'Không thể kết nối đến server vào lúc này, xin vui lòng thử lại. Thành thật xin lỗi!',
			buttons : {
				'Đóng': {
					click: function (){
					}
				},
				
				
			}
		});
}
